package com.blue.base.demo.service;

import com.blue.base.demo.dto.WxUserDecodeBindDto;
import com.blue.base.demo.vo.WxSessionVo;

import java.util.Map;

/**
 * 微信解析用户信息
 *
 * @author liulei
 * @version 1.0
 */
public interface WxAuthService {
    /**
     * 判断新老用户
     *
     * @param code 临时code
     * @return 用户信息
     */
    Map<String, Object> code2Session(String code);

    /**
     * 用户绑定
     *
     * @param param 参数
     */
    void bindUser(WxUserDecodeBindDto param);

    /**
     * 调用微信授权code2Session接口获取信息
     *
     * @param code 临时授权码
     * @return 微信小程序注册信息
     */
    WxSessionVo invokeWeChatCode2Session(String code);

    /**
     * 解析微信用户信息
     *
     * @param session session信息
     * @param param   传参的加密数据
     * @return 用户信息/手机号/用户名
     */
    String decodeWeChatInfo(WxSessionVo session, WxUserDecodeBindDto param);
}
